package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.SysClassification;

/**
 * 药品分类Service接口
 * 
 * @author jiashu
 * @date 2025-03-13
 */
public interface ISysClassificationService 
{
    /**
     * 查询药品分类
     * 
     * @param classificationId 药品分类主键
     * @return 药品分类
     */
    public SysClassification selectSysClassificationByClassificationId(Long classificationId);

    /**
     * 查询药品分类列表
     * 
     * @param sysClassification 药品分类
     * @return 药品分类集合
     */
    public List<SysClassification> selectSysClassificationList(SysClassification sysClassification);

    /**
     * 新增药品分类
     * 
     * @param sysClassification 药品分类
     * @return 结果
     */
    public int insertSysClassification(SysClassification sysClassification);

    /**
     * 修改药品分类
     * 
     * @param sysClassification 药品分类
     * @return 结果
     */
    public int updateSysClassification(SysClassification sysClassification);

    /**
     * 检查修改的分类名是否可用
     * @param sysClassification
     * @return
     */
    public boolean checkClassificationName(SysClassification sysClassification);

    /**
     * 批量删除药品分类
     * 
     * @param classificationIds 需要删除的药品分类主键集合
     * @return 结果
     */
    public int deleteSysClassificationByClassificationIds(Long[] classificationIds);

    /**
     * 删除药品分类信息
     * 
     * @param classificationId 药品分类主键
     * @return 结果
     */
    public int deleteSysClassificationByClassificationId(Long classificationId);


    /**
     * 根节点递归
     * @return
     */
    public List<SysClassification> selectRootClassification();


    /**
     * 根据某一节点获取对应的递归信息
     * @param classificationId
     * @return
     */
    public List<SysClassification> selectChildrenByParentId(Long classificationId);
}
